/**
 * 使用 JS 的方式来给 props 标注类型
 *
 *  1. 额外安装一个 npm 包  prop-types
 *  2. 定义组件的 propTypes 属性
 *      2.1 
 *      World.propTypes = {
          name: AAAAA.string, // 需要 string 类型
        };

        2.2
        // 给 World 类, 设置 静态属性
        static propTypes = {
          name: AAAAA.string, // 需要 string 类型
        };

  Prop 的默认值设置
        1. 外层定义 类的 defaultProps 静态属性
        2. 内层定义 类的 defaultProps 静态属性
 */

import React from "react";
import AAAAA from "prop-types";

class World extends React.Component {
  // 给 World 类, 设置 静态属性
  static propTypes = {
    name: AAAAA.string, // 需要 string 类型
    click: AAAAA.func, // 需要 function 类型
  };

  static defaultProps = {
    name: "张三",
  };

  render() {
    return (
      <div>
        <p>World - {this.props.name}</p>
      </div>
    );
  }
}

// 给 World 类, 设置 静态属性
// World.propTypes = {
//   name: AAAAA.string, // 需要 string 类型
// };

export default World;
